运维告诉你分布式存储的那些“坑”
引言
我在一家银行的科技公司做运维工程师,前几天和北极熊一起吃饭,聊到我们在存储选择方面踩到的一些坑,北极熊建议我写一篇文章和读者分享下。经常读云技术上的技术文章,这次记录下我们在选择存储方面踩的一些坑,也算是回馈。因为行里有要求,所以隐去了我们行的名称和具体运行的业务,请大家见谅。
一、存储的挑战:多场景,高可靠,高性能
先简单介绍下基本情况,我们属于银行的科技公司,移动支付及新金融的发展给银行带来了极大的挑战。科技公司就是银行的创新部门,基于银行的资源,用互联网的方式来创新。
我们经过大概一年多紧张的研发,在去年暑期的时候,准备上线一项新业务,这时候碰到一个调整,就是生产环境的存储选型。
我们的业务情况是这样的:
数据库:和计费相关的使用Oracle,其他模块使用MySQL;
开发语言:Java;
虚拟化:测试环境有VMware vSphere 6.7及某品牌的商业存储,也有一个OpenStack+Ceph的集群;
容器:开源的Kubernetes,存储使用的Ceph。
因为是新项目,一开始就是容器加微服务,发布用的是Jenkins,但是因为复用了一部分老组件(主要是计费),还需要使用虚拟化。
现在要上生产环境,发现存储遇到难题,生产环境毕竟不同于测试环境,必须高可靠,不能丢失数据;性能也要满足要求,峰值的时候,要能撑的住;另外,必须支持Oracle数据库,支持VMware虚拟化,最好能支持容器环境。
当时有两个思路:
1、使用商业存储;
2、使用开源的Ceph。
使用商业的集中式存储阵列,我们测算了下,不光费用惊人,核心数据库需要一套存储,VMware虚拟化需要一套存储。还有两个难题搞不定,第一个难题是容器的存储如何解决,商业集中式存储阵列和云原生的Kubernetes平台技术架构上明显不搭,虽然有些阵列厂家也能提供一些插件给到容器平台使用,但从技术架构选型的角度看,不能作为未来架构长期使用。
第二难题是商业存储的扩容问题,我们测算了数据量,如果业务发展顺利的话,存储的数据量可能增长比较快,加上快照、备份等,存储的空间可能半年时间就不够用了。解决办法只能是再加一套存储,虽然商业存储也支持几套存储级联,但是级联的能力有限,如果两三年时间就达到级联的上限,会比较麻烦。类似的情况在我们行里也碰到过,解决办法只能是在业务层进行拆分,影响过大。
生产环境使用Ceph方案,可靠性能否达到生产环境的要求,我们心里没有底。Ceph对运维能力要求比较高,在测试环境中,不时会碰到一些问题。使用Ceph方案,很快就被我们部长否定了,部长要求稳定第一,让我们再找几种方案试试。
这时候,一家保险公司做运维的朋友,推荐了他们使用的分布式存储,说他们已经用了小半年了,数据库、VMware、Kubernetes都跑了,性能不错,也没有出过问题。
他推荐的是青云QingCloud旗下的QingStor NeonSAN企业级分布式块存储,我初步调研了下,发现是一个不错的方案。
二、初步调研:QingStor NeonSAN支持数据库、虚拟化、容器多场景
简单介绍下QingStor NeonSAN,它定位为面向核心业务的全闪分布式块存储。
1. 可靠性、性能、扩展性满足要求
QingStor NeonSAN诞生在闪存时代,一开始就定位为全闪架构,没有历史包袱,软件栈对闪存做了全面的优化。
QingStor NeonSAN经过近7年的技术积累,在可靠性和性能方面已经达到传统中高端存储的水平,并且可扩展性更好。在架构方面,通过对数据、软件架构和硬件组网的高可靠设计,QingStor NeonSAN的可靠性可以达到9个9。
在节点扩容方面,继承分布式架构的优点,1个集群最大可扩容至4096节点,并且可以保证性能和容量随节点增加而线性增长。
2. 支持场景满足要求
QingStor NeonSAN可以应用于多种业务场景:
容器和云、虚拟化场景
QingStor NeonSAN在容器上也做了很多适配工作,可以通过CSI插件对接原生Kubernetes平台,也可以支持青云QingCloud旗下KubeSphere容器平台。
QingStor NeonSAN不仅仅支持青云QingCloud自己的云平台,还支持常见的VMware、OpenStack、Hyper-V等虚拟化平台。针对VMware的客户,QingStor NeonSAN通过了VMware Storage Ready认证,支持VMware VAAI-Block功能。
数据库场景
QingStor NeonSAN在数据库场景上,不仅可以满足容量、性能、可靠性需求,而且很好地提供了双活和异地容灾的能力,通过部署全闪QingStor NeonSAN,多个Oracle RAC可以挂载同一个QingStor NeonSAN,作为共享存储。
通过使用QingStor NeonSAN,不仅仅满足了业务需求,而且获得了以下两个额外的好处:
实现了一套存储通过灵活的配置,满足不同业务的存储需求,能够有效降低各类存储系统的投资和管理成本。
平滑扩容,让业务无感知,并且扩容时间更短、效率更高。
三、真刀实枪测试:极端压测、多业务场景、断电拔网线
我向部长汇报了QingStor NeonSAN的初步调研情况,并决定先在PoC环境测试下,联系了青云QingCloud的工程师,一起搭建了一个测试环境。
PoC环境为三台全闪服务器,存储网络为RDMA,数据网络为全万兆。
1. 功能测试
Oracle测试:可以顺利的完成单数据库支持、RAC集群数据库支持等。
VMware测试:QingStor NeonSAN是通过VMware兼容性认证的,这里测试没有碰到问题。而且QingStor NeonSAN支持VMware VAAI-Block功能,这是高端传统存储才有的功能,说明QingStor NeonSAN在虚拟化的支持上已经非常细粒度,考虑到了用户实际使用场景的许多细节需求。
OpenStack测试:通过Cinder直接对接,顺利完成。
容器测试:通过Kubernetes CSI插件对接,顺利完成。
当然,并不是功能测试对接起来就完了,我们还严格的进行了各种场景下的功能测试,比如Oracle模拟数据库的创建、备份等场景。VMware、OpenStack模拟了全生命周期的虚拟机管理,也将我们的业务测试用例在容器上全部跑了一遍,这里就不赘述了。总之,功能测试层面,达到了我们的预期。
2. 性能测试
先用FIO进行了基本的性能测试,并且和传统存储做了对比,三台全闪配置的情况下,IOPS可以达到60万以上。
随后又测试了各种业务场景,对极端情况进行了测试。测试环境只有3台,正式环境准备上9台,但是按照正式环境来打压力,最终发现,即使只使用3台性能上也能够满足要求,只是容量不够。当然,分布式存储随着节点增加,性能会随着上升。
3. 破坏性测试
考虑到生产环境有可能碰到的极端情况,我们也进行了一系列破坏性测试:
拔插硬盘:模拟硬盘故障,观察对性能和稳定性的影响,结果为对业务无影响。
拔插网线:模拟网线故障,观察对性能和稳定性的影响,结果为对业务无影响。
关闭一台存储交换机:因为存储交换机使用的双冗余,关闭一台交换机后,存储间通信的多路径机制会进行路径切换,保证业务的继续正常运行。
断电:拔掉一台服务器电源,模拟服务器故障,性能有短暂抖动,很快稳定,稳定后性能无明显变化,业务运行无中断。
顺便说下,一般分布式存储在扩容的时候,对性能都有影响,QingStor NeonSAN提供了定时扩容的功能,可以灵活选择在晚上业务低峰时,启动数据再平衡。再平衡还可以限速,最大程度保证业务稳定。
四、正式上线大半年,稳定
基于严格的测试,我们比较有信心,决定生产环境使用QingStor NeonSAN,同时传统存储作为应急备份。
业务上线比较顺利,推广效果也不错,整个系统经过大半年运行,比较稳定,没有出过大问题。尤其是QingStor NeonSAN存储,一套存储支持数据库、虚拟化、容器多套场景,中间还因为业务发展需要,扩容了两次,一直很稳定。
五、传统存储无可奈何花落去,SDS不尽长江滚滚来
因为深度使用了QingStor NeonSAN存储后,我特意调研了软件定义存储,也和大家分享下这方面收集到的一些数据和我的分析。最近几年的存储市场可以用一升一降来形容,传统存储市场份额不断下降,软件定义存储(SDS)的市场份额飙升,SDS已形成星星燎原之势。
1. SDS迅猛发展背后的三大原因
SDS之所以能够获得迅猛增长,主要是三大原因:技术的迭代发展,云计算的加速落地,用户数据指数级的增长。
硬件方面,SSD、网络技术突飞猛进。2017年SSD市场规模首次超过HDD,根据研究机构Mordor Intelligence统计,2019年,固态硬盘(SSD)市场份额为348.6亿美元,预计在2020年至2025年,复合年增长率为14.94%,到2025年将达到803.4亿美元。
网络方面,随着万兆网络、RDMA技术及InfiniBand架构的普及,网络沿着10Gb、25Gb、100Gb的路径演进,未来甚至可达到400Gb。
根据Gartner发布的最新云计算市场追踪数据显示,2019年全球云计算IaaS市场持续快速增长,同比增长37.3%,总体市场规模达445亿美元。根据IDC的统计,2025年全球的数据量达到163ZB。
闪存和网络技术的迭代,为SDS的发展打下了很好的硬件技术基础。云计算的底层存储基本都是SDS的方式,为SDS积累了丰富的经验。用户大量的数据存储需求,刺激了SDS的发展。
2. QingStor NeonSAN表现优异
在IDC最新发布的《中国软件定义存储及超融合市场跟踪研究报告,2019Q4》中,青云QingCloud旗下QingStor企业级分布式存储和青立方超融合凭借优异的技术和市场表现双双入围核心厂商。其中,QingStor NeonSAN连续两年入围,跻身软件定义块存储市场四强,并且成功带动QingStor企业级分布式存储近三年复合增长率超600%。
NeonSAN的命名也很有寓意,NeonSAN名字来自于元素周期表中的Ne。Ne是一种惰性气体,特质是稳定,意为NeonSAN在可靠性、稳定性上达到比较高的水准。
软件定义存储经过不断的积累,在硬件迭代,用户需求的推动下,已经日趋成熟,而传统存储昂贵,扩展性差的短板,已经不能满足海量的数据存储需求。沧海浊流方显英雄本色,SDS在高可靠性,高性能方面已经能够满足核心业务需求,特别是QingStor NeonSAN,不仅可靠性能达到9个9,性能优异,可扩展性强,而且有快照、克隆、加密、QoS、异步/同步复制、容灾等多种企业存储特性,是企业核心业务值得选择的存储。
基于第二代英特尔®至强®可扩展平台打造的QingStor NeonSAN,可确保在计算、存储、网络、软件等多层面为企业客户带来性能强劲、安全可靠、简单易用的软件定义存储解决方案,从而显著降低系统部署的复杂度和TCO,与企业现有重要业务快速无缝衔接。除此之外, QingStor NeonSAN适配英特尔®傲腾™固态盘(Optane)和英特尔®高速缓存加速软件(Intel Cache Acceleration Sotware)等多项新技术,实现超高吞吐与极低延时,并且和英特尔共同对整体方案进行了性能优化,能够充分应对企业应用的严苛挑战。